package com.lagou.edu.context;

/**
 * bean 工厂 接口
 *
 * @author bwcx_jzy
 * @since 2021/10/21
 */
public interface BeanFactory {


    /**
     * 根据 bean 名称获取 bean
     *
     * @param name bean 名称
     * @return bean
     */
    Object getObject(String name);

    /**
     * 根据 bean class 获取 bean
     *
     * @param tClass class
     * @param <T>    范型
     * @return bean
     */
    <T> T getObject(Class<T> tClass);

    /**
     * 获取配置属性
     *
     * @param name 配置的key
     * @return 值
     */
    String getProperties(String name);
}
